1. Field of the Invention
The present invention relates to computer devices. More specifically, the invention relates to a method and apparatus for installing a new hardware device in a computer.
2. Description of Related Art
Many computers are equipped with operating systems that provide what is known as “plug and play” functionality for many peripheral devices. The term “plug and play” refers to the ability of a computer operating system to detect the connection of a new peripheral device and automatically install the necessary drivers for the operating system to interact with that device. Apparently, the term was conceived out of the notion that one could plug in a device and immediately play with it. Plug and play technology was considered an advancement over then-existing methods for adding peripherals to a computer. Prior to the advent of plug and play technology, each new peripheral device required a manual installation of necessary device drivers in order to make the device function properly. Thus, device manufacturers were required to store installation programs and necessary drivers on a computer-readable media such as a floppy disk or CD-Rom that was included with the device.
Plug and play technology typically required cooperation between the peripheral manufacturer and the operating system developer. For a device to fully realize the advantages of plug and play technology, a device driver needed to be preinstalled on the computer to which the device was connected. If the required device driver were not preinstalled somewhere on the computer, some external computer-readable media was required to complete device installation even if the operating system recognized the device. Consequently, device manufacturers supplied operating system developers with drivers prior to the release of a new operating system so that the operating system would both recognize the peripheral device and install the necessary drivers upon detecting a connection.
Notably, even after the development of plug and play technology, device manufacturers continued to package their peripheral devices with disks and CD-Roms that stored installation software and device drivers. This packaging was necessary because of several shortcomings associated with the early plug and play model. First, because of the infrequency of new operating system versions or updates known commonly as service packs, those devices developed and released subsequent to the release of the plug and play operating system did not have drivers included with the latest operating system release. Second, device manufacturers frequently updated drivers to improve the performance of their products with the operating system. Thus, a driver included with an original release of an operating system may not have been the best available driver for that product. Although operating systems vendors dedicated significant resources to ensure that the latest drivers were included in service packs, new hardware peripherals were introduced frequently. As a result, it was not practical to have all drivers loaded into OS updates, as doing so required significant system resources and tended to waste computer memory storage space on unused drivers.
FIG. 2 provides an example of the complexity inherent in an exemplary prior art peripheral installation process. At step 200, a plug and play device is connected to a computer and recognized by the operating system (OS). At step 201, the OS determines whether the device drivers for operating the device are stored on the hard drive in a location known by the operating system. If the device drivers are present, the system skips to step 204 where the operating system attempts to install the device from the known location on the hard drive using the device driver. If the device driver is not present in the OS, the system proceeds to step 202 where it looks for device drivers on external media such as a floppy disk or a CD-Rom. If drivers are found on external media, the system skips ahead to step 204 where it attempts to install the device using the device driver found on external media. If no device driver is located on external media, the system looks for a generic driver that may enable the peripheral device. If a generic driver is located, the operating system will attempt to install the device at step 204. At step 205, the system determines whether the installation was successful. If the installation was successful, the system proceeds to 210 and the user can then access the device. If the installation fails, the system proceeds to step 206 where it determines whether there is available technical support. If technical support is available, technical support is provided at step 209. Depending on the form of technical support provided, the support may involve considerable expense to the device manufacturer in the form of technical support personnel or web site maintenance. Alternatively, if technical support is not available, a disappointed customer results at step 207. Although intangible, a disappointed customer also represents substantial cost to the device manufacturer. At step 208, the installation fails and the customer must return to step 200 to restart the installation process. Plainly, an installation routine as provided in FIG. 2 has numerous potential failure points and is potentially expensive to the device manufacturer.
Eventually, both device manufacturers and operating systems developers realized that the Internet could be useful for providing and updating device drivers. As a result, updated device drivers were made available for downloading via a web site. However, this solution did not address the problem for those computers without access to the Internet. Moreover, one of the more common peripheral devices sold to computer owners was a network interface card (NIC). Ironically, in order to get the NIC driver necessary to access the Internet, an Internet connection was required.
In view of the shortcomings associated with the prior art, what is needed is a way for peripheral devices to be automatically installed without having to access some external media. It would be an additional advancement to provide a way for manufacturers of plug and play devices to easily ensure that the most recent device drivers are installed upon the initial connection of the device.